home *** CD-ROM | disk | FTP | other *** search
/ PCGUIA 2009/2010 Games / PCguia_Jogos.iso / demos.swf / scripts / Square Effect Pro.as < prev    next >
Text File  |  2009-04-27  |  13KB  |  432 lines

  1. function createMask(x1, y1, x2, y2, clip, i, j, nume, iniScale)
  2. {
  3.    var _loc5_ = y2 - y1;
  4.    var _loc4_ = x2 - x1;
  5.    clip.mini.duplicateMovieClip("m" + i + "_" + j,clip.getNextHighestDepth());
  6.    clip["m" + i + "_" + j]._x = x2 - _loc4_ / 2;
  7.    clip["m" + i + "_" + j]._y = y2 - _loc5_ / 2;
  8.    clip["m" + i + "_" + j]._xscale = iniScale;
  9.    clip["m" + i + "_" + j]._yscale = iniScale;
  10. }
  11. MovieClip.prototype.squareEffect = function(pl, pas, v1, v2, model, dir, radius)
  12. {
  13.    this._parent["__masca_" + this._name].removeMovieClip();
  14.    this.pas = pas;
  15.    this.v1 = v1;
  16.    this.v2 = v2;
  17.    this._parent.createEmptyMovieClip("__masca_" + this._name,this.getDepth() + 998);
  18.    this._parent["__masca_" + this._name]._x = this._x + this.getBounds(this).xMin * this._xscale / 100;
  19.    this._parent["__masca_" + this._name]._y = this._y + this.getBounds(this).yMin * this._yscale / 100;
  20.    this._parent["__masca_" + this._name]._rotation = this._rotation;
  21.    var _loc10_ = 0;
  22.    var _loc9_ = 0;
  23.    this.radius = radius;
  24.    var nr_col = Math.floor(this._width / pl);
  25.    var nr_lin = Math.floor(this._height / pl);
  26.    var _loc8_ = this._width / nr_col;
  27.    var _loc7_ = this._height / nr_lin;
  28.    var _loc11_ = 0;
  29.    var _loc12_ = 0;
  30.    var _loc26_ = 1;
  31.    this.scalaFin = Math.floor(100 + 100 * this.radius / Math.max(_loc7_,_loc8_));
  32.    if(dir == true)
  33.    {
  34.       this.iniScale = 0;
  35.    }
  36.    else
  37.    {
  38.       this.iniScale = this.scalaFin;
  39.    }
  40.    var _loc6_ = 2;
  41.    var _loc22_ = _loc8_;
  42.    var _loc23_ = _loc7_;
  43.    var _loc20_ = this._parent["__masca_" + this._name];
  44.    _loc20_.createEmptyMovieClip("mini",_loc20_.getNextHighestDepth());
  45.    _loc20_.mini.drawRoundedRectangle_local((- _loc22_) / 2,(- _loc23_) / 2,_loc8_,_loc7_,radius);
  46.    _loc20_.mini._x = -100;
  47.    _loc20_.mini._y = -100;
  48.    this._ord_ = new Array();
  49.    this.createDiagonal = function()
  50.    {
  51.       var _loc7_ = 1;
  52.       var _loc2_ = 1;
  53.       var _loc3_ = 1;
  54.       var _loc6_ = 1;
  55.       var _loc5_ = 1;
  56.       var _loc4_ = new Object();
  57.       _loc4_.i = _loc2_;
  58.       _loc4_.j = _loc3_;
  59.       _loc7_;
  60.       this._ord_[_loc7_++] = _loc4_;
  61.       while(_loc3_ != nr_lin || _loc2_ != nr_col)
  62.       {
  63.          if(_loc3_ == 1)
  64.          {
  65.             if(_loc5_ + 1 <= nr_lin)
  66.             {
  67.                _loc3_ = _loc5_ = _loc5_ + 1;
  68.                _loc2_ = 1;
  69.             }
  70.             else
  71.             {
  72.                _loc3_ = nr_lin;
  73.                _loc2_ = _loc6_ = _loc6_ + 1;
  74.             }
  75.          }
  76.          else if(_loc2_ + 1 <= nr_col)
  77.          {
  78.             _loc3_ = _loc3_ - 1;
  79.             _loc2_ = _loc2_ + 1;
  80.          }
  81.          else if(_loc2_ + 1 <= nr_lin)
  82.          {
  83.             _loc3_ = _loc5_ = _loc5_ + 1;
  84.             _loc2_ = 1;
  85.          }
  86.          else
  87.          {
  88.             _loc3_ = nr_lin;
  89.             _loc2_ = _loc6_ = _loc6_ + 1;
  90.          }
  91.          _loc4_ = new Object();
  92.          _loc4_.i = _loc2_;
  93.          _loc4_.j = _loc3_;
  94.          _loc7_;
  95.          this._ord_[_loc7_++] = _loc4_;
  96.       }
  97.    };
  98.    this.reverseArray = function(arr)
  99.    {
  100.       var _loc1_ = 1;
  101.       while(_loc1_ < Math.floor((arr.length + 2) / 2))
  102.       {
  103.          var _loc3_ = arr[_loc1_];
  104.          arr[_loc1_] = arr[arr.length - _loc1_];
  105.          arr[arr.length - _loc1_] = _loc3_;
  106.          _loc1_ = _loc1_ + 1;
  107.       }
  108.       return arr;
  109.    };
  110.    this.createMiddle = function()
  111.    {
  112.       var _loc5_ = 1;
  113.       var _loc7_ = Math.floor(nr_col / 2);
  114.       var _loc6_ = Math.floor(nr_col / 2) + 1;
  115.       if(nr_col / 2 - Math.floor(nr_col / 2) > 0)
  116.       {
  117.          var _loc4_ = 1;
  118.          while(_loc4_ <= nr_lin)
  119.          {
  120.             var _loc3_ = new Object();
  121.             _loc3_.i = _loc6_;
  122.             _loc3_.j = _loc4_;
  123.             _loc5_;
  124.             this._ord_[_loc5_++] = _loc3_;
  125.             _loc4_ = _loc4_ + 1;
  126.          }
  127.          _loc6_ = _loc6_ + 1;
  128.       }
  129.       _loc4_ = 1;
  130.       while(_loc4_ <= _loc7_)
  131.       {
  132.          var _loc2_ = 1;
  133.          while(_loc2_ <= nr_lin)
  134.          {
  135.             _loc3_ = new Object();
  136.             _loc3_.i = _loc7_ - _loc4_ + 1;
  137.             _loc3_.j = _loc2_;
  138.             _loc5_;
  139.             this._ord_[_loc5_++] = _loc3_;
  140.             _loc3_ = new Object();
  141.             _loc3_.i = _loc6_ + _loc4_ - 1;
  142.             _loc3_.j = _loc2_;
  143.             _loc5_;
  144.             this._ord_[_loc5_++] = _loc3_;
  145.             _loc2_ = _loc2_ + 1;
  146.          }
  147.          _loc4_ = _loc4_ + 1;
  148.       }
  149.    };
  150.    switch(model)
  151.    {
  152.       case "random":
  153.          var _loc17_ = 1;
  154.          i = 1;
  155.          while(i <= nr_col)
  156.          {
  157.             var _loc2_ = 1;
  158.             while(_loc2_ <= nr_lin)
  159.             {
  160.                var _loc4_ = new Object();
  161.                _loc4_.i = i;
  162.                _loc4_.j = _loc2_;
  163.                _loc17_;
  164.                this._ord_[_loc17_++] = _loc4_;
  165.                _loc2_ = _loc2_ + 1;
  166.             }
  167.             i++;
  168.          }
  169.          var _loc19_ = new Array();
  170.          _loc6_ = 1;
  171.          while(_loc6_ <= this._ord_.length)
  172.          {
  173.             _loc19_[_loc6_] = this._ord_[_loc6_];
  174.             _loc6_ = _loc6_ + 1;
  175.          }
  176.          this._ord_.splice(0);
  177.          _loc17_ = 1;
  178.          while(_loc19_.length > 1)
  179.          {
  180.             var _loc13_ = random(_loc19_.length - 1) + 1;
  181.             _loc17_;
  182.             this._ord_[_loc17_++] = _loc19_[_loc13_];
  183.             _loc19_.splice(_loc13_,1);
  184.          }
  185.          break;
  186.       case "middle-reverse":
  187.          this.createMiddle();
  188.          this._ord_ = this.reverseArray(this._ord_);
  189.          break;
  190.       case "middle":
  191.          this.createMiddle();
  192.          break;
  193.       case "one-one":
  194.          _loc17_ = 1;
  195.          i = 1;
  196.          while(i <= nr_col)
  197.          {
  198.             _loc2_ = 1;
  199.             while(_loc2_ <= nr_lin)
  200.             {
  201.                if((i + _loc2_) / 2 - Math.floor((i + _loc2_) / 2) > 0)
  202.                {
  203.                   _loc4_ = new Object();
  204.                   _loc4_.i = i;
  205.                   _loc4_.j = _loc2_;
  206.                   _loc17_;
  207.                   this._ord_[_loc17_++] = _loc4_;
  208.                }
  209.                _loc2_ = _loc2_ + 1;
  210.             }
  211.             i++;
  212.          }
  213.          i = 1;
  214.          while(i <= nr_col)
  215.          {
  216.             _loc2_ = 1;
  217.             while(_loc2_ <= nr_lin)
  218.             {
  219.                if((i + _loc2_) / 2 - Math.floor(i + _loc2_) / 2 == 0)
  220.                {
  221.                   _loc4_ = new Object();
  222.                   _loc4_.i = i;
  223.                   _loc4_.j = _loc2_;
  224.                   _loc17_;
  225.                   this._ord_[_loc17_++] = _loc4_;
  226.                }
  227.                _loc2_ = _loc2_ + 1;
  228.             }
  229.             i++;
  230.          }
  231.          break;
  232.       case "up-down":
  233.          _loc17_ = 1;
  234.          _loc2_ = 1;
  235.          while(_loc2_ <= nr_lin)
  236.          {
  237.             i = 1;
  238.             while(i <= nr_col)
  239.             {
  240.                _loc4_ = new Object();
  241.                _loc4_.i = i;
  242.                _loc4_.j = _loc2_;
  243.                _loc17_;
  244.                this._ord_[_loc17_++] = _loc4_;
  245.                i++;
  246.             }
  247.             _loc2_ = _loc2_ + 1;
  248.          }
  249.          break;
  250.       case "down-up":
  251.          _loc17_ = 1;
  252.          _loc2_ = nr_lin;
  253.          while(_loc2_ >= 1)
  254.          {
  255.             i = nr_col;
  256.             while(i >= 1)
  257.             {
  258.                _loc4_ = new Object();
  259.                _loc4_.i = i;
  260.                _loc4_.j = _loc2_;
  261.                _loc17_;
  262.                this._ord_[_loc17_++] = _loc4_;
  263.                i--;
  264.             }
  265.             _loc2_ = _loc2_ - 1;
  266.          }
  267.          break;
  268.       case "right-left":
  269.          _loc17_ = 1;
  270.          i = nr_col;
  271.          while(i >= 1)
  272.          {
  273.             _loc2_ = nr_lin;
  274.             while(_loc2_ >= 1)
  275.             {
  276.                _loc4_ = new Object();
  277.                _loc4_.i = i;
  278.                _loc4_.j = _loc2_;
  279.                _loc17_;
  280.                this._ord_[_loc17_++] = _loc4_;
  281.                _loc2_ = _loc2_ - 1;
  282.             }
  283.             i--;
  284.          }
  285.          break;
  286.       case "left-right":
  287.          _loc17_ = 1;
  288.          i = 1;
  289.          while(i <= nr_col)
  290.          {
  291.             _loc2_ = 1;
  292.             while(_loc2_ <= nr_lin)
  293.             {
  294.                _loc4_ = new Object();
  295.                _loc4_.i = i;
  296.                _loc4_.j = _loc2_;
  297.                _loc17_;
  298.                this._ord_[_loc17_++] = _loc4_;
  299.                _loc2_ = _loc2_ + 1;
  300.             }
  301.             i++;
  302.          }
  303.          break;
  304.       case "diagonal":
  305.          this.createDiagonal();
  306.          break;
  307.       case "diagonal-reverse":
  308.          this.createDiagonal();
  309.          this._ord_ = this.reverseArray(this._ord_);
  310.    }
  311.    this.lengthOrd = this._ord_.length;
  312.    i = 1;
  313.    while(i <= nr_col)
  314.    {
  315.       _loc2_ = 1;
  316.       while(_loc2_ <= nr_lin)
  317.       {
  318.          createMask((i - 1) * _loc8_ + _loc11_ - _loc10_,(_loc2_ - 1) * _loc7_ + _loc12_ - _loc9_,i * _loc8_ + _loc11_ - _loc10_,_loc2_ * _loc7_ + _loc12_ - _loc9_,this._parent["__masca_" + this._name],i,_loc2_,this._name,this.iniScale);
  319.          _loc2_ = _loc2_ + 1;
  320.       }
  321.       i++;
  322.    }
  323.    this.setMask(this._parent["__masca_" + this._name]);
  324.    this.scaleMask = function(me, dir)
  325.    {
  326.       if(dir == true)
  327.       {
  328.          pos = me.countInt;
  329.       }
  330.       else
  331.       {
  332.          pos = me.lengthOrd - me.countInt + 1;
  333.       }
  334.       if(me.countInt <= me.lengthOrd)
  335.       {
  336.          if(me._parent["__masca_" + me._name]["m" + me._ord_[pos].i + "_" + me._ord_[pos].j] != undefined)
  337.          {
  338.             me["individual" + pos] = setInterval(me.indivScale,me.v1,me,pos,dir);
  339.          }
  340.       }
  341.       else
  342.       {
  343.          clearInterval(me._efecte_);
  344.       }
  345.       me.countInt = me.countInt + 1;
  346.       updateAfterEvent();
  347.    };
  348.    this.indivScale = function(me, pos, dir)
  349.    {
  350.       var _loc2_ = me._parent["__masca_" + me._name]["m" + me._ord_[pos].i + "_" + me._ord_[pos].j];
  351.       if(dir == true)
  352.       {
  353.          if(_loc2_._xscale <= me.scalaFin && _loc2_._xscale != undefined)
  354.          {
  355.             _loc2_._yscale = _loc2_._xscale += me.pas;
  356.          }
  357.          else
  358.          {
  359.             clearInterval(me["individual" + pos]);
  360.             if(pos == me._ord_.length - 1)
  361.             {
  362.                me._parent["__masca_" + me._name].removeMovieClip();
  363.                me.onSquareEffectEnd.call(null,dir);
  364.             }
  365.          }
  366.       }
  367.       else if(_loc2_._xscale > 0 && _loc2_._xscale != undefined)
  368.       {
  369.          _loc2_._yscale = _loc2_._xscale -= me.pas;
  370.       }
  371.       else
  372.       {
  373.          clearInterval(me["individual" + pos]);
  374.          _loc2_._xscale = 0;
  375.          _loc2_._yscale = 0;
  376.          if(pos == 1)
  377.          {
  378.             me.onSquareEffectEnd.call(null,dir);
  379.          }
  380.       }
  381.       updateAfterEvent();
  382.    };
  383.    this.countInt = 1;
  384.    this._efecte_ = setInterval(this.scaleMask,this.v2,this,dir);
  385. };
  386. MovieClip.prototype.drawRoundedRectangle_local = function(x, y, wide, high, radius)
  387. {
  388.    var _loc9_ = "0xFF0000";
  389.    var _loc10_ = 100;
  390.    var _loc4_ = y;
  391.    if(!(radius < 0 || radius > 0.5 * wide || radius > 0.5 * high))
  392.    {
  393.       this.beginFill(_loc9_,_loc10_);
  394.       var _loc2_ = new Array(12);
  395.       var _loc3_ = new Array(12);
  396.       _loc2_[0] = x;
  397.       _loc3_[0] = _loc4_;
  398.       _loc2_[1] = x + radius;
  399.       _loc3_[1] = _loc4_;
  400.       _loc2_[2] = x + wide - radius;
  401.       _loc3_[2] = _loc4_;
  402.       _loc2_[3] = x + wide;
  403.       _loc3_[3] = _loc4_;
  404.       _loc2_[4] = x + wide;
  405.       _loc3_[4] = _loc4_ + radius;
  406.       _loc2_[5] = x + wide;
  407.       _loc3_[5] = _loc4_ + high - radius;
  408.       _loc2_[6] = x + wide;
  409.       _loc3_[6] = _loc4_ + high;
  410.       _loc2_[7] = x + wide - radius;
  411.       _loc3_[7] = _loc4_ + high;
  412.       _loc2_[8] = x + radius;
  413.       _loc3_[8] = _loc4_ + high;
  414.       _loc2_[9] = x;
  415.       _loc3_[9] = _loc4_ + high;
  416.       _loc2_[10] = x;
  417.       _loc3_[10] = _loc4_ + high - radius;
  418.       _loc2_[11] = x;
  419.       _loc3_[11] = _loc4_ + radius;
  420.       this.moveTo(_loc2_[1],_loc3_[1]);
  421.       this.curveTo(_loc2_[2],_loc3_[2],_loc2_[2],_loc3_[2]);
  422.       this.curveTo(_loc2_[3],_loc3_[3],_loc2_[4],_loc3_[4]);
  423.       this.curveTo(_loc2_[5],_loc3_[5],_loc2_[5],_loc3_[5]);
  424.       this.curveTo(_loc2_[6],_loc3_[6],_loc2_[7],_loc3_[7]);
  425.       this.curveTo(_loc2_[8],_loc3_[8],_loc2_[8],_loc3_[8]);
  426.       this.curveTo(_loc2_[9],_loc3_[9],_loc2_[10],_loc3_[10]);
  427.       this.curveTo(_loc2_[11],_loc3_[11],_loc2_[11],_loc3_[11]);
  428.       this.curveTo(_loc2_[0],_loc3_[0],_loc2_[1],_loc3_[1]);
  429.       this.endFill();
  430.    }
  431. };
  432.